home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / mig / RCS / Mig_GetPdevName.c,v < prev    next >
Text File  |  1990-06-22  |  3KB  |  153 lines

  1. head     2.0;
  2. branch   ;
  3. access   ;
  4. symbols  no-auto-remigrate:2.0 installed:2.0;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 2.0
  10. date     90.03.10.13.13.02;  author douglis;  state Stable;
  11. branches ;
  12. next     1.2;
  13.  
  14. 1.2
  15. date     90.03.10.13.11.25;  author douglis;  state Exp;
  16. branches ;
  17. next     1.1;
  18.  
  19. 1.1
  20. date     90.02.16.15.15.05;  author douglis;  state Exp;
  21. branches ;
  22. next     ;
  23.  
  24.  
  25. desc
  26. @routine to get the name of the global or host-specific pdev.
  27. @
  28.  
  29.  
  30. 2.0
  31. log
  32. @Changing version numbers.
  33. @
  34. text
  35. @/* 
  36.  * Mig_GetPdevName.c --
  37.  *
  38.  *    This file contains the Mig_GetPdevName procedure, which
  39.  *    returns the string corresponding to the pseudo-device
  40.  *    used for either the global server or the local host.
  41.  *
  42.  * Copyright 1990 Regents of the University of California
  43.  * Permission to use, copy, modify, and distribute this
  44.  * software and its documentation for any purpose and without
  45.  * fee is hereby granted, provided that the above copyright
  46.  * notice appear in all copies.  The University of California
  47.  * makes no representations about the suitability of this
  48.  * software for any purpose.  It is provided "as is" without
  49.  * express or implied warranty.
  50.  */
  51.  
  52. #ifndef lint
  53. static char rcsid[] = "$Header: /sprite/src/lib/c/mig/RCS/Mig_GetPdevName.c,v 1.2 90/03/10 13:11:25 douglis Exp Locker: douglis $ SPRITE (Berkeley)";
  54. #endif not lint
  55.  
  56. #include <fs.h>
  57. #include <stdio.h>
  58. #include <mig.h>
  59.  
  60. extern char *strcpy();
  61.  
  62. /*
  63.  * Define the pseudo-devices used to communicate with the local
  64.  * and global migration daemons.  LOCAL_PDEV is used to form
  65.  * a string based on the hostname.
  66.  */
  67. #ifndef GLOBAL_PDEV
  68. #define GLOBAL_PDEV "/sprite/admin/migd/pdev"
  69. #endif
  70.  
  71. #ifndef LOCAL_PDEV
  72. #define LOCAL_PDEV "/hosts/%s/migd.pdev"
  73. #endif
  74.  
  75. static char *globalPdev = GLOBAL_PDEV;
  76. static char *localPdev  = NULL;
  77.  
  78.  
  79. /*
  80.  *----------------------------------------------------------------------
  81.  *
  82.  * Mig_GetPdevName --
  83.  *
  84.  *    Return the name of the specified pseudo-device.  If global
  85.  *    is non-zero, then return the name of the global pdev, else
  86.  *    the one for this host.
  87.  *
  88.  * Results:
  89.  *    A pointer to the name is returned. If an error is returned
  90.  *    when getting the host name, NULL is returned.
  91.  *
  92.  * Side effects:
  93.  *    Memory is allocated to hold the file name.
  94.  *
  95.  *----------------------------------------------------------------------
  96.  */
  97. char *
  98. Mig_GetPdevName(global)
  99.     int global;            /* Whether to return the global pdev name. */
  100. {
  101.     char hostName[FS_MAX_NAME_LENGTH];
  102.     char fileName[FS_MAX_NAME_LENGTH];
  103.     int status;
  104.     extern char *malloc();
  105.  
  106.     if (global) {
  107.     return(globalPdev);
  108.     } 
  109.  
  110.     if (!localPdev) {
  111.     status = gethostname(hostName, FS_MAX_NAME_LENGTH);
  112.     if (status != 0) {
  113.         return((char *) NULL);
  114.     }
  115.     (void) sprintf(fileName, LOCAL_PDEV, hostName);
  116.     localPdev = malloc((unsigned) (strlen(fileName) + 1));
  117.     if (localPdev == (char *) NULL) {
  118.         return(localPdev);
  119.     }
  120.     (void) strcpy(localPdev, fileName);
  121.     }
  122.     return(localPdev);
  123. }
  124. @
  125.  
  126.  
  127. 1.2
  128. log
  129. @changed name of pdevs
  130. @
  131. text
  132. @d19 1
  133. a19 1
  134. static char rcsid[] = "$Header: /sprite/src/lib/c/mig/RCS/Mig_GetPdevName.c,v 1.1 90/02/16 15:15:05 douglis Exp Locker: douglis $ SPRITE (Berkeley)";
  135. @
  136.  
  137.  
  138. 1.1
  139. log
  140. @Initial revision
  141. @
  142. text
  143. @d19 1
  144. a19 1
  145. static char rcsid[] = "$Header: /sprite/src/lib/c/mig/RCS/Mig_GetPdevName.c,v 1.1 90/02/16 14:29:34 douglis Exp $ SPRITE (Berkeley)";
  146. d34 1
  147. a34 1
  148. #define GLOBAL_PDEV "/sprite/admin/migInfo.pdev"
  149. d38 1
  150. a38 1
  151. #define LOCAL_PDEV "/hosts/%s/migInfo.pdev"
  152. @
  153.